home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************/
-
- NGI - NewGetImage
-
- An IFF, ILBM & C Utility by
- Kevin A. Bjorke
- 25724 Salceda Road
- Valencia, CA 91355
- CI$: 74756,464
- PLink: ojs637
-
- NGI is an Intuition-driven utility that will allow you to read, view, and
- reformat ILBM (DPaint, Aegis Images, etc) pictures. Although NGI was originally
- intended to simply be a replacement for the "gi" and "brush2c" utilities I
- had been using (that didn't always work, alas), I've found it to be very useful
- as an IFF viewer, too -- it loads faster and is MUCH smaller than DPaint, and
- can show several pictures during a single session -- so NGI is also an alter-
- native to programs like "ShowILBM" and "DPaintX." Even if you don't know
- what a BOB or IMAGE is, or don't write C code at all, NGI can still be a handy
- tool for your workbench.
-
- /******* Instructions ********************************************/
-
- When you start up NGI (from CLI or Workbench), you'll first get a title page.
- Hit the BEGIN gadget to go to the main workspace.
-
- The main workspace has three NGI string gadgets and six button gadgets:
-
- BRUSH: Enter the name of the brush you want to read. NGI will actually read any
- IFF file that it can cram into memory, so the "brush" may be a full-
- sized picture, even in hi-res.
-
- OUTPUT: If you use NGI to generate new C files, enter the filename here.
-
- STRUCT: If you use NGI to create C code, enter the name of the Image/Bob/Sprite
- structure you want.
-
- READ: Hitting READ will cause NGI to read the file named in the BRUSH string.
- If the READ is successful, NGI will activate the SHOW, IMAGE, BOB,
- and (if the size is right) SPRITE buttons. Those buttons are normally
- "dead" until you READ at least SOME brush.
-
- SHOW: If you've READ a BRUSH, you can display it on your Amiga screen, using
- the original colors. Just hit SHOW. NGI will create a new display
- screen for the picture. To exit the display and get back to NGI's
- main workspace, just hit the close gadget on the display screen.
- (Note: If you load a full-screen image with NGI, the close gadget will
- get drawn-over. Don't worry, it's still there.)
-
- HELP: Hitting HELP will give you a quick list of your options. Hit the OK
- button on the HELP page to get back to the main workspace.
-
- IMAGE: Hitting IMAGE will cause NGI to write a file with the OUTPUT name that
- contains ImageData, a colortable, and Image structure, and a boolean
- (button) gadget, all using the name you specified in STRUCT. All of the
- buttons and pictures NGI usues were made by NGI itself in exectly this
- way.
-
- BOB: Hitting BOB will cause NGI to write a file with the OUTPUT name that
- contains ImageData, CollMask, Save area, VSprite & Bob structures
- all using the name you specified in STRUCT.
-
- SPRITE: SPRITE will only be active if your READ brush was very small -- less
- than 17 pixels wide. If it is, hitting SPRITE will cause NGI to write
- an OUTPUT file that contains ImageData, Colors, and a VSprite usings
- your STRUCT name.
-
- Quitting NGI: Just hit the close gadget on the main NGI window (this is the
- window that appears on the workbench, not the display screen).
-
- /******* The Future ***********************************************/
-
- Future Enhancements to NGI (see below):
-
- 1. Easier file specification that using the string gadget to type something like
- "pictures12:brush/wb-brushes/NewCLick.Brush" -- probably some sort of
- file requester a la DPaint.
-
- 2. Icons -- NGI could write icons from ILBM files, too. The only reason it
- doesn't it that I couldn't decide where to put the button.
-
- 3. More control over the C output. Right now, NGI often writes TOO MUCH code --
- you may want an Image structure, but not the Boolean Gadget or the
- color info. I did this because it's always easier to delete stuff than
- it is to type it in. Slice out what you don't want. Future versions
- of NGI will probably have toggles you can call from a menu, to set
- flags for that sort of thing.
-
- 4. Multiple images. If NGI could read multiple brushes (not a hard thing to
- do), it could create GADGHIMAGE button gadgets, special knobs for
- Proportional gadgets, and even set up multi-Bob AnimComps. Since
- animation development is what I built NGI for in the first place, this
- is a high priority. I HATE doing repetitive stuff.
-
- 5. Mask/Stencil Planes. Since Image structures don't use Mask planes, NGI
- doesn't bother with them. They can sometimes be handy for animation,
- however.
-
- 6. Basic? NGI could also write BASIC "objects," if we ever got requests for
- that sort of thing.
-
- 7. More reso control. It would sometimes be nice to see what small brushes look
- like at higher resos, especially when their ultimate destination is the
- Workbench screen.
-
- 8. Special CLI options in addition to the mouse. It might be nice to make a
- BOB with a line like "NGI -b df1:brush/dude2 sys:dude2.s BowLeg2" i.e.
- "NGI <option(s)> <brush> <output> <struct>" I like mouse-driven code,
- but the simplest way is always the best -- always the tricky part of
- providing programs that are flexible.
-
- /******* Misc Technical Info ************************************/
-
- NGI was written in C, using the Lattice compiler under WorkBench 1.2.
- Most of its size (about 27K) is actually just the various structures
- and ImageData blocks, with the code being pretty short -- the IFF reader
- is probably more than half of the code. NGI used the Lattice "-a" option,
- so NGI should run properly on heavily-expanded machines, loading all ImageData
- into CHIP memory. Bon appetit bitblt.
-
- - KAB May 1987
-
- /******* National Pixel Products ********************************/
-
- About National Pixel Products:
- National Pixel Products was created in by ex-employees of the late,
- great Digital Productions/Robert Abel & Associates/Omnibus Computer Graphics;
- makers of supercomputer graphics for the entertainment industry. While the
- Amiga is no Cray, we all think it's the hottest box on the block, even AFTER
- the Mac-2. Accept no substitutes.
- Future projects include a high-quality scan-line renderer (MUCH faster
- than ray-tracing) and other multi-purpose graphics tools like NGI -- we are
- also working on the adaptation of a Hugo Award-winning novel as an Amiga game.
-
- (Deluxe Paint and Deluxe Paint 2 are trademarks of Electronic Arts.
- Aegis and Aegis Images are trademarks of Aegis Development. Amiga and
- Workbench are trademarks of Commodore Business Machines. Lattice is a
- trademark of Lattice, Inc.)
-
- /******** NGI Updates and Source Code ***********************************/
-
- For updates, and complete source of NGI with examples of use (and to be on
- our mailing list, of course), send $25 to:
-
- Kevin A. Bjorke
- National Pixel Products
- 25724 Salceda Road
- Valencia, California 91355
-
- We'd of course like to hear your comments and wishes, too.
-
- /****************************************************************/
-